package modelo.armas;

import static modelo.SetUps.ALCANCE_TORPEDO_SIMPLE;
import static modelo.SetUps.CARGA_TORPEDO_SIMPLE;
import static modelo.SetUps.DANIO_TORPEDO_SIMPLE;
import static modelo.SetUps.VELOCIDAD_TORPEDO_SIMPLE;
import modelo.desplazadores.DesplazadorLineaRecta;
import modelo.util.Vector;

public class TorpedoSimple extends Armas {

	
	public TorpedoSimple (Actitud actitud){
		carga = new CargaAgotable(CARGA_TORPEDO_SIMPLE);
		this.actitud = actitud;
	}
	
	//CAMBIAR falta agregar el contenedor
	public Balas disparar (Vector posicion, Vector direccion){
		if ( !(this.puedeSeguirDisparando()) ){
			throw new FaltaDeCargaException();
		}
		carga.descontar();
		Balas bala = actitud.disparar(DANIO_TORPEDO_SIMPLE, ALCANCE_TORPEDO_SIMPLE);
		DesplazadorLineaRecta desplazador = new DesplazadorLineaRecta (posicion, direccion, VELOCIDAD_TORPEDO_SIMPLE);
		bala.setDesplazador (desplazador);
		bala.setTipoBala(BalaTorpedoSimple.getInstance());
		return bala;
	}

}
